package Modelo;

import java.util.LinkedList;

public class IteradorListaCircular implements IteradorCircular {
	private LinkedList lista;
	private int vueltas;
	private int corriente;
	
	public IteradorListaCircular(LinkedList lista){
		this.lista=lista;
		vueltas=0;
	}

	public boolean hasNext(){
		return (!lista.isEmpty());
	}
	
	public Object next(){
		if(corriente>=lista.size()||corriente<0)
			throw new RuntimeException();
		if(corriente==(lista.size()-1)){	// el ultimo
			int aux=corriente;
			corriente=0;
			vueltas++;
			return lista.get(aux);
		}
		return lista.get(corriente++);
	}
	
	public int vueltasCompletas(){
		return vueltas;
	}
	
	public void remove(){
	}
}
